package com.jixiantubu.adapter;

import image.SmartImageView;
import java.util.ArrayList;
import java.util.List;
import com.example.jixiantubu.R;
import com.jixiantubu.bean.Ac_Bean;
import com.jixiantubu.util.MyApplication;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class Ac_Mulu_Adapter extends BaseAdapter {
	// 通过构造器获取数据来源
	List<Ac_Bean> list = new ArrayList<Ac_Bean>();
	// 接收上下文参数，以便了解是哪个activity在调用
	Context context;
	// 用来初始化布局文件，可以把一个xml布局转换为对应的android对象view
	LayoutInflater mInflater;
	ViewHolder mHolder;

	public Ac_Mulu_Adapter(List<Ac_Bean> list, Context context) {
		super();
		this.list = list;
		this.context = context;
		mInflater = LayoutInflater.from(context);
	}

	public List<Ac_Bean> getList() {
		return list;
	}

	public void setList(List<Ac_Bean> list) {
		this.list = list;
	}

	@Override
	public int getCount() {
		// 数据总量
		return list.size();
	}

	@Override
	public Object getItem(int position) {
		// 返回每一行的数据
		return list.get(position);
	}

	@Override
	public long getItemId(int position) {
		// 返回每一行的id，几乎很少用到
		// 列表中的索引号，从0开始
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// 告知列表每一行的布局样式，同时指定每一行的数据来自哪里
		// position:列表的索引，从0开始；convertView是每一行的布局；parent每一行的父布局，没有则写null
		// 这里，每一行的布局是item.xml
		if (convertView == null) {
			convertView = mInflater.inflate(R.layout.ac_mulu_item, null);
			// 初始化每一行的控件
			mHolder = new ViewHolder();
			mHolder.ac_pic_path = (SmartImageView) convertView
					.findViewById(R.id.ac_mulu_pic);
			mHolder.ac_number = (TextView) convertView
					.findViewById(R.id.ac_mulu_number);
			mHolder.ac_title = (TextView) convertView
					.findViewById(R.id.ac_mulu_title);
			mHolder.ac_venue = (TextView) convertView
					.findViewById(R.id.ac_venue);
			mHolder.ac_time = (TextView) convertView.findViewById(R.id.ac_mulu_time);
			mHolder.ac_user_nikename = (TextView) convertView
					.findViewById(R.id.ac_user_nikename);
			// 首次调用getView，创建viewHolder实例，初始化控件，并把这个实例缓存到界面上
			convertView.setTag(mHolder);
		} else {
			// 不是第一次调用，直接取出缓存中的viewholder即可
			mHolder = (ViewHolder) convertView.getTag();
		}

		// 指定每一行布局对应的数据
		String resId = "http://" + MyApplication.getIP() + ":8080/Jinnang/img/"
				+ list.get(position).getAc_pic_path();
		Log.e("约伴图片", resId);
		mHolder.ac_pic_path.setImageUrl(resId);
		int ac_number = +list.get(position).getAc_number_sum();
		String ac_title = list.get(position).getAc_title();
		String ac_venue = list.get(position).getAc_venue();
		String ac_time = list.get(position).getAc_time().substring(0,10) + "—"
				+ list.get(position).getAc_lastTime().substring(0,10);
		String ac_user_nikename = list.get(position).getUser_nickname();
		mHolder.ac_number.setText("已报名"+String.valueOf(ac_number)+"人");
		mHolder.ac_title.setText(ac_title);
		mHolder.ac_venue.setText("集合地："+ac_venue);
		mHolder.ac_time.setText("时间："+ac_time);
		mHolder.ac_user_nikename.setText("组织者："+ac_user_nikename);

		return convertView;
	}

	class ViewHolder {
		// 做界面控件初始化缓存工作
		SmartImageView ac_pic_path;
		TextView ac_number, ac_title, ac_venue, ac_time, ac_user_nikename;

	}
}
